\hypertarget{jsmn_8c}{}\doxysection{jsmn.\+c File Reference}
\label{jsmn_8c}\index{jsmn.c@{jsmn.c}}
{\ttfamily \#include \char`\"{}jsmn.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$ \mbox{\hyperlink{jsmn_8c_a0d7a964b95b65cd16699a355ede80394}{jsmn\+\_\+alloc\+\_\+token}} (\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$parser, \mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$tokens, size\+\_\+t num\+\_\+tokens)
\begin{DoxyCompactList}\small\item\em Allocates a fresh unused token from the token pull. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{jsmn_8c_a20b875e37a2a5c88888c6d80068715be}{jsmn\+\_\+fill\+\_\+token}} (\mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$token, \mbox{\hyperlink{jsmn_8h_a065320719769f9dc1fbe30094e52802f}{jsmntype\+\_\+t}} type, int start, int end)
\begin{DoxyCompactList}\small\item\em Fills token type and boundaries. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{jsmn_8c_a4d1f29464811e2bbf5506fbe5c7ee9de}{jsmn\+\_\+parse\+\_\+primitive}} (\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$parser, const char $\ast$js, size\+\_\+t len, \mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$tokens, size\+\_\+t num\+\_\+tokens)
\begin{DoxyCompactList}\small\item\em Fills next available token with J\+S\+ON primitive. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{jsmn_8c_a568f184e45bb9718270088e1e05a4264}{jsmn\+\_\+parse\+\_\+string}} (\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$parser, const char $\ast$js, size\+\_\+t len, \mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$tokens, size\+\_\+t num\+\_\+tokens)
\begin{DoxyCompactList}\small\item\em Fills next token with J\+S\+ON string. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{jsmn_8c_a774f985a9750a10c7e88304e30191e03}{jsmn\+\_\+parse}} (\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$parser, const char $\ast$js, size\+\_\+t len, \mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$tokens, unsigned int num\+\_\+tokens)
\begin{DoxyCompactList}\small\item\em Parse J\+S\+ON string and fill tokens. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{jsmn_8c_a8d4a8b3ce5c3d600feea38615b5f9aa6}{jsmn\+\_\+init}} (\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$parser)
\begin{DoxyCompactList}\small\item\em Creates a new parser based over a given buffer with an array of tokens available. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{jsmn_8c_a0d7a964b95b65cd16699a355ede80394}\label{jsmn_8c_a0d7a964b95b65cd16699a355ede80394}} 
\index{jsmn.c@{jsmn.c}!jsmn\_alloc\_token@{jsmn\_alloc\_token}}
\index{jsmn\_alloc\_token@{jsmn\_alloc\_token}!jsmn.c@{jsmn.c}}
\doxysubsubsection{\texorpdfstring{jsmn\_alloc\_token()}{jsmn\_alloc\_token()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}}$\ast$ jsmn\+\_\+alloc\+\_\+token (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$}]{parser,  }\item[{\mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$}]{tokens,  }\item[{size\+\_\+t}]{num\+\_\+tokens }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Allocates a fresh unused token from the token pull. 

\mbox{\Hypertarget{jsmn_8c_a20b875e37a2a5c88888c6d80068715be}\label{jsmn_8c_a20b875e37a2a5c88888c6d80068715be}} 
\index{jsmn.c@{jsmn.c}!jsmn\_fill\_token@{jsmn\_fill\_token}}
\index{jsmn\_fill\_token@{jsmn\_fill\_token}!jsmn.c@{jsmn.c}}
\doxysubsubsection{\texorpdfstring{jsmn\_fill\_token()}{jsmn\_fill\_token()}}
{\footnotesize\ttfamily static void jsmn\+\_\+fill\+\_\+token (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$}]{token,  }\item[{\mbox{\hyperlink{jsmn_8h_a065320719769f9dc1fbe30094e52802f}{jsmntype\+\_\+t}}}]{type,  }\item[{int}]{start,  }\item[{int}]{end }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Fills token type and boundaries. 

\mbox{\Hypertarget{jsmn_8c_a8d4a8b3ce5c3d600feea38615b5f9aa6}\label{jsmn_8c_a8d4a8b3ce5c3d600feea38615b5f9aa6}} 
\index{jsmn.c@{jsmn.c}!jsmn\_init@{jsmn\_init}}
\index{jsmn\_init@{jsmn\_init}!jsmn.c@{jsmn.c}}
\doxysubsubsection{\texorpdfstring{jsmn\_init()}{jsmn\_init()}}
{\footnotesize\ttfamily void jsmn\+\_\+init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$}]{parser }\end{DoxyParamCaption})}



Creates a new parser based over a given buffer with an array of tokens available. 

Create J\+S\+ON parser over an array of tokens. \mbox{\Hypertarget{jsmn_8c_a774f985a9750a10c7e88304e30191e03}\label{jsmn_8c_a774f985a9750a10c7e88304e30191e03}} 
\index{jsmn.c@{jsmn.c}!jsmn\_parse@{jsmn\_parse}}
\index{jsmn\_parse@{jsmn\_parse}!jsmn.c@{jsmn.c}}
\doxysubsubsection{\texorpdfstring{jsmn\_parse()}{jsmn\_parse()}}
{\footnotesize\ttfamily int jsmn\+\_\+parse (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$}]{parser,  }\item[{const char $\ast$}]{js,  }\item[{size\+\_\+t}]{len,  }\item[{\mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$}]{tokens,  }\item[{unsigned int}]{num\+\_\+tokens }\end{DoxyParamCaption})}



Parse J\+S\+ON string and fill tokens. 

Run J\+S\+ON parser. \mbox{\Hypertarget{jsmn_8c_a4d1f29464811e2bbf5506fbe5c7ee9de}\label{jsmn_8c_a4d1f29464811e2bbf5506fbe5c7ee9de}} 
\index{jsmn.c@{jsmn.c}!jsmn\_parse\_primitive@{jsmn\_parse\_primitive}}
\index{jsmn\_parse\_primitive@{jsmn\_parse\_primitive}!jsmn.c@{jsmn.c}}
\doxysubsubsection{\texorpdfstring{jsmn\_parse\_primitive()}{jsmn\_parse\_primitive()}}
{\footnotesize\ttfamily static int jsmn\+\_\+parse\+\_\+primitive (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$}]{parser,  }\item[{const char $\ast$}]{js,  }\item[{size\+\_\+t}]{len,  }\item[{\mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$}]{tokens,  }\item[{size\+\_\+t}]{num\+\_\+tokens }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Fills next available token with J\+S\+ON primitive. 

\mbox{\Hypertarget{jsmn_8c_a568f184e45bb9718270088e1e05a4264}\label{jsmn_8c_a568f184e45bb9718270088e1e05a4264}} 
\index{jsmn.c@{jsmn.c}!jsmn\_parse\_string@{jsmn\_parse\_string}}
\index{jsmn\_parse\_string@{jsmn\_parse\_string}!jsmn.c@{jsmn.c}}
\doxysubsubsection{\texorpdfstring{jsmn\_parse\_string()}{jsmn\_parse\_string()}}
{\footnotesize\ttfamily static int jsmn\+\_\+parse\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structjsmn__parser}{jsmn\+\_\+parser}} $\ast$}]{parser,  }\item[{const char $\ast$}]{js,  }\item[{size\+\_\+t}]{len,  }\item[{\mbox{\hyperlink{structjsmntok__t}{jsmntok\+\_\+t}} $\ast$}]{tokens,  }\item[{size\+\_\+t}]{num\+\_\+tokens }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Fills next token with J\+S\+ON string. 

